package cn.com.cifi.mars.service;

import cn.com.cifi.mars.bean.vo.returnPlan.ProjectReturnCoefficientVo;
import cn.com.cifi.mars.bean.vo.returnPlan.ReturnCoefficientContentVo;
import cn.com.cifi.mars.entity.MdmProject;
import cn.com.cifi.mars.entity.ProjectReturnCoefficient;
import cn.com.cifi.mars.entity.ReturnCoefficientDetail;
import cn.com.cifi.mars.entity.common.IdmUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 项目回款系数表 服务类
 * </p>
 *
 * @author JingYuanXiang
 * @since 2020-11-05
 */
public interface ProjectReturnCoefficientService extends IService<ProjectReturnCoefficient> {
	// 查询回款系数版本列表
	List<ProjectReturnCoefficientVo> queryVersions(String projectId, String type);
	// 新建调整板回款系数
	ProjectReturnCoefficient create(String projectId, IdmUser user);
	// 新建实际版回款系数
	ProjectReturnCoefficient createReality(String projectId);
	// 回款系数编辑页面保存
	void createSupplyBudgetVersion(List<ReturnCoefficientDetail> param, IdmUser user);
	// 删除版本
	void delete(String versionId, IdmUser user);
	// 查询回款系数审批预览PC
	String getApprovalPreview(String projectId, String versionId, IdmUser user, String examineId);
	// 审批校验
	void check(String versionId);
	// 修改审批状态仅供测试使用
	void updateState(String versionId, String versionState);
	// 提交到oa审批
	String getSubmitToOA(ReturnCoefficientContentVo returnCoefficientContentVo, IdmUser user);
	// 修改审批状态
	void successServed(String versionId, String state, LocalDateTime now);
	//同步投资板回款系数
	void syncInvestmentCoefficient(String projectId);
}
